﻿
using System;
using System.Data.SqlClient;
using V82;
using V82.ДокументыСсылка;
using V82.Документы;//Менеджер;
using V82.ДокументыСсылка;
using V82.Перечисления;//Ссылка;
namespace V82.Документы//Менеджер
{
	///<summary>
	///(Регл)
	///</summary>
	public partial class РасчетПриУвольненииРаботникаОрганизаций:ДокументМенеджер
	{
		
		public static ДокументыСсылка.РасчетПриУвольненииРаботникаОрганизаций НайтиПоСсылке(Guid _Ссылка)
		{
			using (var Подключение = new SqlConnection(СтрокаСоединения))
			{
				Подключение.Open();
				using (var Команда = Подключение.CreateCommand())
				{
					Команда.CommandText = @"Select top 1 
					_IDRRef [Ссылка]
					,_Version [Версия]
					,_Marked [ПометкаУдаления]
					,_Fld10732 [ПериодРегистрации]
					,_Fld10733RRef [Организация]
					,_Fld10734 [Комментарий]
					,_Fld10735RRef [Ответственный]
					,_Fld21973RRef [Сотрудник]
					,_Fld10736RRef [Физлицо]
					,_Fld10738 [ДатаУвольнения]
					,_Fld10739 [ДнейЧасовВыходногоПособия]
					,_Fld10740 [ДнейЧасовКомпенсацииУдержанияОтпуска]
					,_Fld10741 [ДнейЧасовСохраненияСреднегоЗаработка]
					,_Fld10742 [ПризнакКомпенсацииОтпуска]
					,_Fld10743RRef [ДокументОснование]
					,_Fld10744RRef [ПорядокРасчетаОтпуска]
					,_Fld10745RRef [ПерерассчитываемыйДокумент]
					,_Fld10746 [РабочийГодС]
					,_Fld10747 [РабочийГодПо]
					,_Fld18527 [ИспользоватьСреднеЧасовойЗаработок]
					,_Fld10737RRef [УдалитьПриказ]
					,_Fld27269 [ПериодРасчетаСреднегоЗаработкаНачало]
					,_Fld27270 [ПериодРасчетаСреднегоЗаработкаОкончание]
					From _Document427(NOLOCK)
					Where _IDRRef=@Ссылка";
					Команда.Parameters.AddWithValue("Ссылка", _Ссылка);
					using (var Читалка = Команда.ExecuteReader())
					{
						if (Читалка.Read())
						{
							var Ссылка = new ДокументыСсылка.РасчетПриУвольненииРаботникаОрганизаций();
							//ToDo: Читать нужно через GetValues()
							Ссылка.Ссылка = new Guid((byte[])Читалка.GetValue(0));
							var ПотокВерсии = ((byte[])Читалка.GetValue(1));
							Array.Reverse(ПотокВерсии);
							Ссылка.Версия =  BitConverter.ToInt64(ПотокВерсии, 0);
							Ссылка.ВерсияДанных =  Convert.ToBase64String(ПотокВерсии);
							Ссылка.ПометкаУдаления = ((byte[])Читалка.GetValue(2))[0]==1;
							Ссылка.ПериодРегистрации = Читалка.GetDateTime(3);
							Ссылка.Комментарий = Читалка.GetString(5);
							Ссылка.ДатаУвольнения = Читалка.GetDateTime(9);
							Ссылка.ДнейЧасовВыходногоПособия = Читалка.GetDecimal(10);
							Ссылка.ДнейЧасовКомпенсацииУдержанияОтпуска = Читалка.GetDecimal(11);
							Ссылка.ДнейЧасовСохраненияСреднегоЗаработка = Читалка.GetDecimal(12);
							Ссылка.ПризнакКомпенсацииОтпуска = ((byte[])Читалка.GetValue(13))[0]==1;
							Ссылка.ДокументОснование = V82.ДокументыСсылка.УвольнениеИзОрганизаций.ВзятьИзКэша((byte[])Читалка.GetValue(14));
							Ссылка.ПорядокРасчетаОтпуска = V82.Перечисления/*Ссылка*/.ПорядокРасчетаОтпуска.ПустаяСсылка.Получить((byte[])Читалка.GetValue(15));
							Ссылка.ПерерассчитываемыйДокумент = V82.ДокументыСсылка.РасчетПриУвольненииРаботникаОрганизаций.ВзятьИзКэша((byte[])Читалка.GetValue(16));
							Ссылка.РабочийГодС = Читалка.GetDateTime(17);
							Ссылка.РабочийГодПо = Читалка.GetDateTime(18);
							Ссылка.ИспользоватьСреднеЧасовойЗаработок = ((byte[])Читалка.GetValue(19))[0]==1;
							Ссылка.УдалитьПриказ = V82.ДокументыСсылка.ПриемНаРаботуВОрганизацию.ВзятьИзКэша((byte[])Читалка.GetValue(20));
							Ссылка.ПериодРасчетаСреднегоЗаработкаНачало = Читалка.GetDateTime(21);
							Ссылка.ПериодРасчетаСреднегоЗаработкаОкончание = Читалка.GetDateTime(22);
							return Ссылка;
						}
						else
						{
							return null;
						}
					}
				}
			}
		}
		
		public static ДокументыСсылка.РасчетПриУвольненииРаботникаОрганизаций НайтиПоНомеру(string Номер)
		{
			using (var Подключение = new SqlConnection(СтрокаСоединения))
			{
				Подключение.Open();
				using (var Команда = Подключение.CreateCommand())
				{
					Команда.CommandText = @"Select top 1 
					_IDRRef [Ссылка]
					,_Version [Версия]
					,_Marked [ПометкаУдаления]
					,_Fld10732 [ПериодРегистрации]
					,_Fld10733RRef [Организация]
					,_Fld10734 [Комментарий]
					,_Fld10735RRef [Ответственный]
					,_Fld21973RRef [Сотрудник]
					,_Fld10736RRef [Физлицо]
					,_Fld10738 [ДатаУвольнения]
					,_Fld10739 [ДнейЧасовВыходногоПособия]
					,_Fld10740 [ДнейЧасовКомпенсацииУдержанияОтпуска]
					,_Fld10741 [ДнейЧасовСохраненияСреднегоЗаработка]
					,_Fld10742 [ПризнакКомпенсацииОтпуска]
					,_Fld10743RRef [ДокументОснование]
					,_Fld10744RRef [ПорядокРасчетаОтпуска]
					,_Fld10745RRef [ПерерассчитываемыйДокумент]
					,_Fld10746 [РабочийГодС]
					,_Fld10747 [РабочийГодПо]
					,_Fld18527 [ИспользоватьСреднеЧасовойЗаработок]
					,_Fld10737RRef [УдалитьПриказ]
					,_Fld27269 [ПериодРасчетаСреднегоЗаработкаНачало]
					,_Fld27270 [ПериодРасчетаСреднегоЗаработкаОкончание]
					From _Document427(NOLOCK)
					Where _Number = @Номер";
					Команда.Parameters.AddWithValue("Номер", Номер);
					using (var Читалка = Команда.ExecuteReader())
					{
						if (Читалка.Read())
						{
							var Ссылка = new ДокументыСсылка.РасчетПриУвольненииРаботникаОрганизаций();
							//ToDo: Читать нужно через GetValues()
							Ссылка.Ссылка = new Guid((byte[])Читалка.GetValue(0));
							var ПотокВерсии = ((byte[])Читалка.GetValue(1));
							Array.Reverse(ПотокВерсии);
							Ссылка.Версия =  BitConverter.ToInt64(ПотокВерсии, 0);
							Ссылка.ВерсияДанных =  Convert.ToBase64String(ПотокВерсии);
							Ссылка.ПометкаУдаления = ((byte[])Читалка.GetValue(2))[0]==1;
							Ссылка.ПериодРегистрации = Читалка.GetDateTime(3);
							Ссылка.Комментарий = Читалка.GetString(5);
							Ссылка.ДатаУвольнения = Читалка.GetDateTime(9);
							Ссылка.ДнейЧасовВыходногоПособия = Читалка.GetDecimal(10);
							Ссылка.ДнейЧасовКомпенсацииУдержанияОтпуска = Читалка.GetDecimal(11);
							Ссылка.ДнейЧасовСохраненияСреднегоЗаработка = Читалка.GetDecimal(12);
							Ссылка.ПризнакКомпенсацииОтпуска = ((byte[])Читалка.GetValue(13))[0]==1;
							Ссылка.ДокументОснование = V82.ДокументыСсылка.УвольнениеИзОрганизаций.ВзятьИзКэша((byte[])Читалка.GetValue(14));
							Ссылка.ПорядокРасчетаОтпуска = V82.Перечисления/*Ссылка*/.ПорядокРасчетаОтпуска.ПустаяСсылка.Получить((byte[])Читалка.GetValue(15));
							Ссылка.ПерерассчитываемыйДокумент = V82.ДокументыСсылка.РасчетПриУвольненииРаботникаОрганизаций.ВзятьИзКэша((byte[])Читалка.GetValue(16));
							Ссылка.РабочийГодС = Читалка.GetDateTime(17);
							Ссылка.РабочийГодПо = Читалка.GetDateTime(18);
							Ссылка.ИспользоватьСреднеЧасовойЗаработок = ((byte[])Читалка.GetValue(19))[0]==1;
							Ссылка.УдалитьПриказ = V82.ДокументыСсылка.ПриемНаРаботуВОрганизацию.ВзятьИзКэша((byte[])Читалка.GetValue(20));
							Ссылка.ПериодРасчетаСреднегоЗаработкаНачало = Читалка.GetDateTime(21);
							Ссылка.ПериодРасчетаСреднегоЗаработкаОкончание = Читалка.GetDateTime(22);
							return Ссылка;
						}
						else
						{
							return null;
						}
					}
				}
			}
		}
		
		public static ДокументыВыборка.РасчетПриУвольненииРаботникаОрганизаций Выбрать()
		{
			using (var Подключение = new SqlConnection(СтрокаСоединения))
			{
				Подключение.Open();
				using (var Команда = Подключение.CreateCommand())
				{
					Команда.CommandText = @"Select top 1000 
					_IDRRef [Ссылка]
					,_Version [Версия]
					,_Marked [ПометкаУдаления]
					,_Fld10732 [ПериодРегистрации]
					,_Fld10733RRef [Организация]
					,_Fld10734 [Комментарий]
					,_Fld10735RRef [Ответственный]
					,_Fld21973RRef [Сотрудник]
					,_Fld10736RRef [Физлицо]
					,_Fld10738 [ДатаУвольнения]
					,_Fld10739 [ДнейЧасовВыходногоПособия]
					,_Fld10740 [ДнейЧасовКомпенсацииУдержанияОтпуска]
					,_Fld10741 [ДнейЧасовСохраненияСреднегоЗаработка]
					,_Fld10742 [ПризнакКомпенсацииОтпуска]
					,_Fld10743RRef [ДокументОснование]
					,_Fld10744RRef [ПорядокРасчетаОтпуска]
					,_Fld10745RRef [ПерерассчитываемыйДокумент]
					,_Fld10746 [РабочийГодС]
					,_Fld10747 [РабочийГодПо]
					,_Fld18527 [ИспользоватьСреднеЧасовойЗаработок]
					,_Fld10737RRef [УдалитьПриказ]
					,_Fld27269 [ПериодРасчетаСреднегоЗаработкаНачало]
					,_Fld27270 [ПериодРасчетаСреднегоЗаработкаОкончание]
					From _Document427(NOLOCK)";
					var Выборка = new V82.ДокументыВыборка.РасчетПриУвольненииРаботникаОрганизаций();
					using (var Читалка = Команда.ExecuteReader())
					{
						while (Читалка.Read())
						{
							var Ссылка = new ДокументыСсылка.РасчетПриУвольненииРаботникаОрганизаций();
							//ToDo: Читать нужно через GetValues()
							Ссылка.Ссылка = new Guid((byte[])Читалка.GetValue(0));
							var ПотокВерсии = ((byte[])Читалка.GetValue(1));
							Array.Reverse(ПотокВерсии);
							Ссылка.Версия =  BitConverter.ToInt64(ПотокВерсии, 0);
							Ссылка.ВерсияДанных =  Convert.ToBase64String(ПотокВерсии);
							Ссылка.ПометкаУдаления = ((byte[])Читалка.GetValue(2))[0]==1;
							Ссылка.ПериодРегистрации = Читалка.GetDateTime(3);
							Ссылка.Комментарий = Читалка.GetString(5);
							Ссылка.ДатаУвольнения = Читалка.GetDateTime(9);
							Ссылка.ДнейЧасовВыходногоПособия = Читалка.GetDecimal(10);
							Ссылка.ДнейЧасовКомпенсацииУдержанияОтпуска = Читалка.GetDecimal(11);
							Ссылка.ДнейЧасовСохраненияСреднегоЗаработка = Читалка.GetDecimal(12);
							Ссылка.ПризнакКомпенсацииОтпуска = ((byte[])Читалка.GetValue(13))[0]==1;
							Ссылка.ДокументОснование = V82.ДокументыСсылка.УвольнениеИзОрганизаций.ВзятьИзКэша((byte[])Читалка.GetValue(14));
							Ссылка.ПорядокРасчетаОтпуска = V82.Перечисления/*Ссылка*/.ПорядокРасчетаОтпуска.ПустаяСсылка.Получить((byte[])Читалка.GetValue(15));
							Ссылка.ПерерассчитываемыйДокумент = V82.ДокументыСсылка.РасчетПриУвольненииРаботникаОрганизаций.ВзятьИзКэша((byte[])Читалка.GetValue(16));
							Ссылка.РабочийГодС = Читалка.GetDateTime(17);
							Ссылка.РабочийГодПо = Читалка.GetDateTime(18);
							Ссылка.ИспользоватьСреднеЧасовойЗаработок = ((byte[])Читалка.GetValue(19))[0]==1;
							Ссылка.УдалитьПриказ = V82.ДокументыСсылка.ПриемНаРаботуВОрганизацию.ВзятьИзКэша((byte[])Читалка.GetValue(20));
							Ссылка.ПериодРасчетаСреднегоЗаработкаНачало = Читалка.GetDateTime(21);
							Ссылка.ПериодРасчетаСреднегоЗаработкаОкончание = Читалка.GetDateTime(22);
							Выборка.Add(Ссылка);
						}
							return Выборка;
					}
				}
			}
		}
		
		public static ДокументыВыборка.РасчетПриУвольненииРаботникаОрганизаций ВыбратьПоСсылке(int Первые,Guid Мин,Guid Макс)
		{
			using (var Подключение = new SqlConnection(СтрокаСоединения))
			{
				Подключение.Open();
				using (var Команда = Подключение.CreateCommand())
				{
					Команда.CommandText = string.Format(@"Select top {0} 
					_IDRRef [Ссылка]
					,_Version [Версия]
					,_Marked [ПометкаУдаления]
					,_Fld10732 [ПериодРегистрации]
					,_Fld10733RRef [Организация]
					,_Fld10734 [Комментарий]
					,_Fld10735RRef [Ответственный]
					,_Fld21973RRef [Сотрудник]
					,_Fld10736RRef [Физлицо]
					,_Fld10738 [ДатаУвольнения]
					,_Fld10739 [ДнейЧасовВыходногоПособия]
					,_Fld10740 [ДнейЧасовКомпенсацииУдержанияОтпуска]
					,_Fld10741 [ДнейЧасовСохраненияСреднегоЗаработка]
					,_Fld10742 [ПризнакКомпенсацииОтпуска]
					,_Fld10743RRef [ДокументОснование]
					,_Fld10744RRef [ПорядокРасчетаОтпуска]
					,_Fld10745RRef [ПерерассчитываемыйДокумент]
					,_Fld10746 [РабочийГодС]
					,_Fld10747 [РабочийГодПо]
					,_Fld18527 [ИспользоватьСреднеЧасовойЗаработок]
					,_Fld10737RRef [УдалитьПриказ]
					,_Fld27269 [ПериодРасчетаСреднегоЗаработкаНачало]
					,_Fld27270 [ПериодРасчетаСреднегоЗаработкаОкончание]
					From _Document427(NOLOCK)
					Where _IDRRef between @Мин and @Макс
					Order by _IDRRef", Первые);
					Команда.Parameters.AddWithValue("Мин", Мин);
					Команда.Parameters.AddWithValue("Макс", Макс);
					var Выборка = new V82.ДокументыВыборка.РасчетПриУвольненииРаботникаОрганизаций();
					using (var Читалка = Команда.ExecuteReader())
					{
						while (Читалка.Read())
						{
							var Ссылка = new ДокументыСсылка.РасчетПриУвольненииРаботникаОрганизаций();
							//ToDo: Читать нужно через GetValues()
							Ссылка.Ссылка = new Guid((byte[])Читалка.GetValue(0));
							var ПотокВерсии = ((byte[])Читалка.GetValue(1));
							Array.Reverse(ПотокВерсии);
							Ссылка.Версия =  BitConverter.ToInt64(ПотокВерсии, 0);
							Ссылка.ВерсияДанных =  Convert.ToBase64String(ПотокВерсии);
							Ссылка.ПометкаУдаления = ((byte[])Читалка.GetValue(2))[0]==1;
							Ссылка.ПериодРегистрации = Читалка.GetDateTime(3);
							Ссылка.Комментарий = Читалка.GetString(5);
							Ссылка.ДатаУвольнения = Читалка.GetDateTime(9);
							Ссылка.ДнейЧасовВыходногоПособия = Читалка.GetDecimal(10);
							Ссылка.ДнейЧасовКомпенсацииУдержанияОтпуска = Читалка.GetDecimal(11);
							Ссылка.ДнейЧасовСохраненияСреднегоЗаработка = Читалка.GetDecimal(12);
							Ссылка.ПризнакКомпенсацииОтпуска = ((byte[])Читалка.GetValue(13))[0]==1;
							Ссылка.ДокументОснование = V82.ДокументыСсылка.УвольнениеИзОрганизаций.ВзятьИзКэша((byte[])Читалка.GetValue(14));
							Ссылка.ПорядокРасчетаОтпуска = V82.Перечисления/*Ссылка*/.ПорядокРасчетаОтпуска.ПустаяСсылка.Получить((byte[])Читалка.GetValue(15));
							Ссылка.ПерерассчитываемыйДокумент = V82.ДокументыСсылка.РасчетПриУвольненииРаботникаОрганизаций.ВзятьИзКэша((byte[])Читалка.GetValue(16));
							Ссылка.РабочийГодС = Читалка.GetDateTime(17);
							Ссылка.РабочийГодПо = Читалка.GetDateTime(18);
							Ссылка.ИспользоватьСреднеЧасовойЗаработок = ((byte[])Читалка.GetValue(19))[0]==1;
							Ссылка.УдалитьПриказ = V82.ДокументыСсылка.ПриемНаРаботуВОрганизацию.ВзятьИзКэша((byte[])Читалка.GetValue(20));
							Ссылка.ПериодРасчетаСреднегоЗаработкаНачало = Читалка.GetDateTime(21);
							Ссылка.ПериодРасчетаСреднегоЗаработкаОкончание = Читалка.GetDateTime(22);
							Выборка.Add(Ссылка);
						}
							return Выборка;
					}
				}
			}
		}
		
		public static ДокументыВыборка.РасчетПриУвольненииРаботникаОрганизаций ВыбратьПоНомеру(int Первые,string Мин,string Макс)
		{
			using (var Подключение = new SqlConnection(СтрокаСоединения))
			{
				Подключение.Open();
				using (var Команда = Подключение.CreateCommand())
				{
					Команда.CommandText = string.Format(@"Select top {0} 
					_IDRRef [Ссылка]
					,_Version [Версия]
					,_Marked [ПометкаУдаления]
					,_Fld10732 [ПериодРегистрации]
					,_Fld10733RRef [Организация]
					,_Fld10734 [Комментарий]
					,_Fld10735RRef [Ответственный]
					,_Fld21973RRef [Сотрудник]
					,_Fld10736RRef [Физлицо]
					,_Fld10738 [ДатаУвольнения]
					,_Fld10739 [ДнейЧасовВыходногоПособия]
					,_Fld10740 [ДнейЧасовКомпенсацииУдержанияОтпуска]
					,_Fld10741 [ДнейЧасовСохраненияСреднегоЗаработка]
					,_Fld10742 [ПризнакКомпенсацииОтпуска]
					,_Fld10743RRef [ДокументОснование]
					,_Fld10744RRef [ПорядокРасчетаОтпуска]
					,_Fld10745RRef [ПерерассчитываемыйДокумент]
					,_Fld10746 [РабочийГодС]
					,_Fld10747 [РабочийГодПо]
					,_Fld18527 [ИспользоватьСреднеЧасовойЗаработок]
					,_Fld10737RRef [УдалитьПриказ]
					,_Fld27269 [ПериодРасчетаСреднегоЗаработкаНачало]
					,_Fld27270 [ПериодРасчетаСреднегоЗаработкаОкончание]
					From _Document427(NOLOCK)
					Where _Code between @Мин and @Макс
					Order by _Code", Первые);
					Команда.Parameters.AddWithValue("Мин", Мин);
					Команда.Parameters.AddWithValue("Макс", Макс);
					var Выборка = new V82.ДокументыВыборка.РасчетПриУвольненииРаботникаОрганизаций();
					using (var Читалка = Команда.ExecuteReader())
					{
						while (Читалка.Read())
						{
							var Ссылка = new ДокументыСсылка.РасчетПриУвольненииРаботникаОрганизаций();
							//ToDo: Читать нужно через GetValues()
							Ссылка.Ссылка = new Guid((byte[])Читалка.GetValue(0));
							var ПотокВерсии = ((byte[])Читалка.GetValue(1));
							Array.Reverse(ПотокВерсии);
							Ссылка.Версия =  BitConverter.ToInt64(ПотокВерсии, 0);
							Ссылка.ВерсияДанных =  Convert.ToBase64String(ПотокВерсии);
							Ссылка.ПометкаУдаления = ((byte[])Читалка.GetValue(2))[0]==1;
							Ссылка.ПериодРегистрации = Читалка.GetDateTime(3);
							Ссылка.Комментарий = Читалка.GetString(5);
							Ссылка.ДатаУвольнения = Читалка.GetDateTime(9);
							Ссылка.ДнейЧасовВыходногоПособия = Читалка.GetDecimal(10);
							Ссылка.ДнейЧасовКомпенсацииУдержанияОтпуска = Читалка.GetDecimal(11);
							Ссылка.ДнейЧасовСохраненияСреднегоЗаработка = Читалка.GetDecimal(12);
							Ссылка.ПризнакКомпенсацииОтпуска = ((byte[])Читалка.GetValue(13))[0]==1;
							Ссылка.ДокументОснование = V82.ДокументыСсылка.УвольнениеИзОрганизаций.ВзятьИзКэша((byte[])Читалка.GetValue(14));
							Ссылка.ПорядокРасчетаОтпуска = V82.Перечисления/*Ссылка*/.ПорядокРасчетаОтпуска.ПустаяСсылка.Получить((byte[])Читалка.GetValue(15));
							Ссылка.ПерерассчитываемыйДокумент = V82.ДокументыСсылка.РасчетПриУвольненииРаботникаОрганизаций.ВзятьИзКэша((byte[])Читалка.GetValue(16));
							Ссылка.РабочийГодС = Читалка.GetDateTime(17);
							Ссылка.РабочийГодПо = Читалка.GetDateTime(18);
							Ссылка.ИспользоватьСреднеЧасовойЗаработок = ((byte[])Читалка.GetValue(19))[0]==1;
							Ссылка.УдалитьПриказ = V82.ДокументыСсылка.ПриемНаРаботуВОрганизацию.ВзятьИзКэша((byte[])Читалка.GetValue(20));
							Ссылка.ПериодРасчетаСреднегоЗаработкаНачало = Читалка.GetDateTime(21);
							Ссылка.ПериодРасчетаСреднегоЗаработкаОкончание = Читалка.GetDateTime(22);
							Выборка.Add(Ссылка);
						}
							return Выборка;
					}
				}
			}
		}
		
		public static ДокументыВыборка.РасчетПриУвольненииРаботникаОрганизаций СтраницаПоСсылке(int Размер,int Номер)
		{
			using (var Подключение = new SqlConnection(СтрокаСоединения))
			{
				Подключение.Open();
				using (var Команда = Подключение.CreateCommand())
				{
					Команда.CommandText = @"Select top 1000 
					_IDRRef [Ссылка]
					,_Version [Версия]
					,_Marked [ПометкаУдаления]
					,_Fld10732 [ПериодРегистрации]
					,_Fld10733RRef [Организация]
					,_Fld10734 [Комментарий]
					,_Fld10735RRef [Ответственный]
					,_Fld21973RRef [Сотрудник]
					,_Fld10736RRef [Физлицо]
					,_Fld10738 [ДатаУвольнения]
					,_Fld10739 [ДнейЧасовВыходногоПособия]
					,_Fld10740 [ДнейЧасовКомпенсацииУдержанияОтпуска]
					,_Fld10741 [ДнейЧасовСохраненияСреднегоЗаработка]
					,_Fld10742 [ПризнакКомпенсацииОтпуска]
					,_Fld10743RRef [ДокументОснование]
					,_Fld10744RRef [ПорядокРасчетаОтпуска]
					,_Fld10745RRef [ПерерассчитываемыйДокумент]
					,_Fld10746 [РабочийГодС]
					,_Fld10747 [РабочийГодПо]
					,_Fld18527 [ИспользоватьСреднеЧасовойЗаработок]
					,_Fld10737RRef [УдалитьПриказ]
					,_Fld27269 [ПериодРасчетаСреднегоЗаработкаНачало]
					,_Fld27270 [ПериодРасчетаСреднегоЗаработкаОкончание]
					From _Document427(NOLOCK)";
					var Выборка = new V82.ДокументыВыборка.РасчетПриУвольненииРаботникаОрганизаций();
					using (var Читалка = Команда.ExecuteReader())
					{
						while (Читалка.Read())
						{
							var Ссылка = new ДокументыСсылка.РасчетПриУвольненииРаботникаОрганизаций();
							//ToDo: Читать нужно через GetValues()
							Ссылка.Ссылка = new Guid((byte[])Читалка.GetValue(0));
							var ПотокВерсии = ((byte[])Читалка.GetValue(1));
							Array.Reverse(ПотокВерсии);
							Ссылка.Версия =  BitConverter.ToInt64(ПотокВерсии, 0);
							Ссылка.ВерсияДанных =  Convert.ToBase64String(ПотокВерсии);
							Ссылка.ПометкаУдаления = ((byte[])Читалка.GetValue(2))[0]==1;
							Ссылка.ПериодРегистрации = Читалка.GetDateTime(3);
							Ссылка.Комментарий = Читалка.GetString(5);
							Ссылка.ДатаУвольнения = Читалка.GetDateTime(9);
							Ссылка.ДнейЧасовВыходногоПособия = Читалка.GetDecimal(10);
							Ссылка.ДнейЧасовКомпенсацииУдержанияОтпуска = Читалка.GetDecimal(11);
							Ссылка.ДнейЧасовСохраненияСреднегоЗаработка = Читалка.GetDecimal(12);
							Ссылка.ПризнакКомпенсацииОтпуска = ((byte[])Читалка.GetValue(13))[0]==1;
							Ссылка.ДокументОснование = V82.ДокументыСсылка.УвольнениеИзОрганизаций.ВзятьИзКэша((byte[])Читалка.GetValue(14));
							Ссылка.ПорядокРасчетаОтпуска = V82.Перечисления/*Ссылка*/.ПорядокРасчетаОтпуска.ПустаяСсылка.Получить((byte[])Читалка.GetValue(15));
							Ссылка.ПерерассчитываемыйДокумент = V82.ДокументыСсылка.РасчетПриУвольненииРаботникаОрганизаций.ВзятьИзКэша((byte[])Читалка.GetValue(16));
							Ссылка.РабочийГодС = Читалка.GetDateTime(17);
							Ссылка.РабочийГодПо = Читалка.GetDateTime(18);
							Ссылка.ИспользоватьСреднеЧасовойЗаработок = ((byte[])Читалка.GetValue(19))[0]==1;
							Ссылка.УдалитьПриказ = V82.ДокументыСсылка.ПриемНаРаботуВОрганизацию.ВзятьИзКэша((byte[])Читалка.GetValue(20));
							Ссылка.ПериодРасчетаСреднегоЗаработкаНачало = Читалка.GetDateTime(21);
							Ссылка.ПериодРасчетаСреднегоЗаработкаОкончание = Читалка.GetDateTime(22);
							Выборка.Add(Ссылка);
						}
							return Выборка;
					}
				}
			}
		}
		
		public static ДокументыВыборка.РасчетПриУвольненииРаботникаОрганизаций СтраницаПоНомеру(int Размер,int Номер)
		{
			using (var Подключение = new SqlConnection(СтрокаСоединения))
			{
				Подключение.Open();
				using (var Команда = Подключение.CreateCommand())
				{
					Команда.CommandText = @"Select top 1000 
					_IDRRef [Ссылка]
					,_Version [Версия]
					,_Marked [ПометкаУдаления]
					,_Fld10732 [ПериодРегистрации]
					,_Fld10733RRef [Организация]
					,_Fld10734 [Комментарий]
					,_Fld10735RRef [Ответственный]
					,_Fld21973RRef [Сотрудник]
					,_Fld10736RRef [Физлицо]
					,_Fld10738 [ДатаУвольнения]
					,_Fld10739 [ДнейЧасовВыходногоПособия]
					,_Fld10740 [ДнейЧасовКомпенсацииУдержанияОтпуска]
					,_Fld10741 [ДнейЧасовСохраненияСреднегоЗаработка]
					,_Fld10742 [ПризнакКомпенсацииОтпуска]
					,_Fld10743RRef [ДокументОснование]
					,_Fld10744RRef [ПорядокРасчетаОтпуска]
					,_Fld10745RRef [ПерерассчитываемыйДокумент]
					,_Fld10746 [РабочийГодС]
					,_Fld10747 [РабочийГодПо]
					,_Fld18527 [ИспользоватьСреднеЧасовойЗаработок]
					,_Fld10737RRef [УдалитьПриказ]
					,_Fld27269 [ПериодРасчетаСреднегоЗаработкаНачало]
					,_Fld27270 [ПериодРасчетаСреднегоЗаработкаОкончание]
					From _Document427(NOLOCK)";
					var Выборка = new V82.ДокументыВыборка.РасчетПриУвольненииРаботникаОрганизаций();
					using (var Читалка = Команда.ExecuteReader())
					{
						while (Читалка.Read())
						{
							var Ссылка = new ДокументыСсылка.РасчетПриУвольненииРаботникаОрганизаций();
							//ToDo: Читать нужно через GetValues()
							Ссылка.Ссылка = new Guid((byte[])Читалка.GetValue(0));
							var ПотокВерсии = ((byte[])Читалка.GetValue(1));
							Array.Reverse(ПотокВерсии);
							Ссылка.Версия =  BitConverter.ToInt64(ПотокВерсии, 0);
							Ссылка.ВерсияДанных =  Convert.ToBase64String(ПотокВерсии);
							Ссылка.ПометкаУдаления = ((byte[])Читалка.GetValue(2))[0]==1;
							Ссылка.ПериодРегистрации = Читалка.GetDateTime(3);
							Ссылка.Комментарий = Читалка.GetString(5);
							Ссылка.ДатаУвольнения = Читалка.GetDateTime(9);
							Ссылка.ДнейЧасовВыходногоПособия = Читалка.GetDecimal(10);
							Ссылка.ДнейЧасовКомпенсацииУдержанияОтпуска = Читалка.GetDecimal(11);
							Ссылка.ДнейЧасовСохраненияСреднегоЗаработка = Читалка.GetDecimal(12);
							Ссылка.ПризнакКомпенсацииОтпуска = ((byte[])Читалка.GetValue(13))[0]==1;
							Ссылка.ДокументОснование = V82.ДокументыСсылка.УвольнениеИзОрганизаций.ВзятьИзКэша((byte[])Читалка.GetValue(14));
							Ссылка.ПорядокРасчетаОтпуска = V82.Перечисления/*Ссылка*/.ПорядокРасчетаОтпуска.ПустаяСсылка.Получить((byte[])Читалка.GetValue(15));
							Ссылка.ПерерассчитываемыйДокумент = V82.ДокументыСсылка.РасчетПриУвольненииРаботникаОрганизаций.ВзятьИзКэша((byte[])Читалка.GetValue(16));
							Ссылка.РабочийГодС = Читалка.GetDateTime(17);
							Ссылка.РабочийГодПо = Читалка.GetDateTime(18);
							Ссылка.ИспользоватьСреднеЧасовойЗаработок = ((byte[])Читалка.GetValue(19))[0]==1;
							Ссылка.УдалитьПриказ = V82.ДокументыСсылка.ПриемНаРаботуВОрганизацию.ВзятьИзКэша((byte[])Читалка.GetValue(20));
							Ссылка.ПериодРасчетаСреднегоЗаработкаНачало = Читалка.GetDateTime(21);
							Ссылка.ПериодРасчетаСреднегоЗаработкаОкончание = Читалка.GetDateTime(22);
							Выборка.Add(Ссылка);
						}
							return Выборка;
					}
				}
			}
		}
		
		public static V82.ДокументыОбъект.РасчетПриУвольненииРаботникаОрганизаций СоздатьЭлемент()
		{
			var Объект = new V82.ДокументыОбъект.РасчетПриУвольненииРаботникаОрганизаций();
			Объект._ЭтоНовый = true;
			Объект.Ссылка = Guid.NewGuid();/*http://msdn.microsoft.com/ru-ru/library/aa379322(VS.85).aspx*/
			Объект.Комментарий = "";
			Объект.ДокументОснование = new V82.ДокументыСсылка.УвольнениеИзОрганизаций();
			Объект.ПорядокРасчетаОтпуска = V82.Перечисления/*Ссылка*/.ПорядокРасчетаОтпуска.ПустаяСсылка;
			Объект.ПерерассчитываемыйДокумент = new V82.ДокументыСсылка.РасчетПриУвольненииРаботникаОрганизаций();
			Объект.УдалитьПриказ = new V82.ДокументыСсылка.ПриемНаРаботуВОрганизацию();
			return Объект;
		}
	}
}